package com.yhsoft.benefitcard.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yhsoft.benefitcard.controller.request.AddCardsBatch1InVo;
import com.yhsoft.benefitcard.controller.request.SetFlimBatchAddPriceInVo;
import com.yhsoft.benefitcard.controller.response.*;
import com.yhsoft.benefitcard.entity.CardsInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yhsoft.wxprogram.controller.response.BenefitCardOutVo;

import java.util.List;

/**
 * <p>
 * 福利卡信息表 服务类
 * </p>
 *
 * @author yyyyyyyh
 * @since 2023-10-04
 */
public interface ICardsInfoService extends IService<CardsInfo> {

    void addCardsInfo(AddCardsBatch1InVo inVo,String batchNum);

    String bindingCard(String cardNum, String cardPassword);

    List<BenefitCardOutVo> getBenefitCard();

    void setCardInUse(Integer cardId);

    BenefitCardOutVo getInUseCard();

    IPage<CardsInfoOutVo> getCardList(String batch2Num, Long pageNo, Long pageSize);

    List<BenefitCardOutVo> getFlimBenefitCard();

    IPage<Batch1CardListOutVo> getBatch1CardList(String firstBatchNum, Integer isActivated, Long pageNo, Long pageSize);

    CardUsageOutVo getCardUsage(String batch2Num, Integer distributorId);

    List<BenefitCardOutVo> getCanPayCards(Integer goodsId);

    String setFlimBatchAddPrice(SetFlimBatchAddPriceInVo inVo);

    IPage<OrderCardOutVo> getCardUseInfo(String cardType, String userId, Long pageNo, Long pageSize);


    CardsDetailOutVo getCardDetail(String cardNo);


}
